package ar.uba.fi.algo3.algoflight.model.trayectorias;

import java.util.List;

import ar.uba.fi.algo3.algoflight.model.Direccion;
import ar.uba.fi.algo3.algoflight.model.Posicion;
import ar.uba.fi.algo3.algoflight.model.utils.Constantes;
import ar.uba.fi.algo3.algoflight.model.utils.Utilidades;

public class TrayectoriaRecta extends Trayectoria {

	public TrayectoriaRecta(List<Posicion> listaDePosiciones) {
		super(listaDePosiciones);
		this.direccion = new Direccion(
				Utilidades.generarRandom(Constantes.UNA_VUELTA_EN_GRADOS));
	}

	public TrayectoriaRecta(List<Posicion> listaDePosiciones,
			Direccion direccion) {
		super(listaDePosiciones);
		this.direccion = direccion;
	}

	@Override
	public Posicion obtenerSiguientePosicion(float velocidad) {
		return direccion.calcularSiguientePosicion(listaDePosiciones.get(0),
				velocidad);
	}

	@Override
	public void avanzar(float velocidad) {
		Posicion sigPosicion = this.obtenerSiguientePosicion(velocidad);
		listaDePosiciones.clear();
		listaDePosiciones.add(sigPosicion);
	}

}
